package com.tjsinfo.tjsoa.worklog.dao;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;

import com.tjsinfo.tjsoa.worklog.vo.WorkLogMain;


public interface IWorkLogMainDao extends IBaseDao{
	public WorkLogMain selectDateTime(Date date, String type, Integer userid);
	/**
	 * 根据主键查询
	 * @param id
	 * @return
	 */
	public WorkLogMain selectOneById(final String id);
	/**
	 * 根据类型和年份查询
	 * @param 工作日志
	 * @return
	 */
	public List selectWorkLogMainYearAndType(final WorkLogMain workLogMain);
	/**
	 * 根据类型年份和状态查询
	 * @param 工作日志
	 * @return
	 */
	public List selectWorkLogMainYearAndTypeAndStart(final WorkLogMain workLogMain);
	
	/**
	 * 根据计划ID查询同时抓取批示
	 */
	public WorkLogMain selectWorkLog(final String jihua);
	
	public List selectWorkLogMainUserAndType(final WorkLogMain workLogMain);
	
	public List selectWorkLogMainUserAndTypeAndStart(final WorkLogMain workLogMain);
	
	public List selectWorkLogMainUser(final WorkLogMain workLogMain);
	/**
	 * 根据类型和年份用户查询
	 * @param 工作日志
	 * @return
	 */
	public List selectWorkLogMainYearAndTypeAndUser(final WorkLogMain workLogMain);
	/**
	 * 查询默认日日志
	 * @param 工作日志
	 * @return
	 */
	public List selectDefanultDateWorkLog(final WorkLogMain workLogMain);
	/**
	 * 查询默认年日志
	 * @param 工作日志
	 * @return
	 */
	public List checkDefaultWorkLogYear(final WorkLogMain workLogMain);
	/**
	 * 模糊查询工作日志
	 * @param 工作日志
	 * @return
	 */
	public List selectLikeWorkLog(final WorkLogMain workLogMain);
	/**
	 * 模糊查询工作日志以类型为条件
	 * @param 工作日志
	 * @return
	 */
	public List selectLikeWorkLogType(final WorkLogMain workLogMain);
}
